Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Braunschweig Challenger Karlsruhe Challenger Luedenscheid Challenger Augsburg Challenger Braga Challenger Montevideo Challenger Lisbon Challenger M25 Santa Margherita di Pula M25 Santa Margherita di Pula Valencia Challenger Lima 2 Challenger Bengaluru Challenger Australian Open - Melbourne Girona Challenger Pune Challenger Open Sud de France - Montpellier Barcelona Challenger Tenerife 3 Challenger Murcia Challenger Rome Challenger Tunis Challenger Barcelona Open Banc Sabadell - Barcelona Madrid Challenger Prague Challenger M25 Sabadell Plava Laguna Croatia Open - Umag French Open - Paris Zagreb Challenger Bratislava 1 Challenger Modena Challenger Poznan Challenger Wimbledon - London Trieste Challenger Luedenscheid Challenger Bonn Challenger U.S. Open - New York Seville Challenger Porto 2 Challenger Lisbon Challenger Valencia Challenger Guayaquil Challenger Lima 2 Challenger Montevideo Challenger Madrid Challenger Montemar Challenger Kigali 2 Challenger Meerbusch Challenger Australian Open - Melbourne Kigali 1 Challenger Brasov Challenger Sassuolo Challenger Ostrava Challenger Milan Challenger Iasi Challenger M25 Badalona Menorca Challenger Rome Challenger Tunis Challenger Prague Challenger Perugia Challenger Skopje Challenger Vicenza Challenger Portugal F1 Bulgaria-w1 Bulgaria-w4 Portugal F2 Portugal F3 Bulgaria-w2 Romania F8 Romania F9 Romania F10 Spain F17 Spain F18 Portugal #1-w1 Portugal #1-w2 Bulgaria-w3 Portugal #1-w3 Portugal #1-w4 Brazil F10 Brazil F11 Tunisia F5 Tunisia F6 Portugal F1 Portugal F3 Italy F5 Italy F6 Italy F7 Bulgaria-w1 Bulgaria-w2 Bulgaria-w3 Bulgaria-w4 France F8 France F9 Venezuela F5 Venezuela F6 Nigeria F1 Nigeria F2 France F4 France F5 Portugal F3 Morocco F5 Poland F4 Romania F4 Spain F35 Spain F16 Spain F37 Spain F38 Spain F10 Spain F13 Spain F14 Spain F15 Spain F16 Spain F25 Spain F28 Spain F29 Spain F30 Spain F31 Spain F32 Spain F37 Spain F38 Spain F39 Spain F41 Spain F5 Spain F8 Spain F10 Spain F11 Spain F12 Spain F13 Spain F16 Spain F24 Spain F26 Spain F28 Spain F29 Spain F6 Turkey F12 Spain F30 Turkey F13 Spain F1 Spain F2 Spain F15 Spain F3 Spain F17 Spain F18 Spain F19 Spain F4 Spain F20 Spain F22 Spain F25 Spain F27 Spain F8 Spain F12 Sweden F2 Morocco F6 Morocco F7 Spain F11 Portugal F8 Spain F21 Spain F5 Spain F6 Spain F22 Spain F9 Spain F23 Spain F24 Spain F14 Portugal F7 Spain F16 Spain F18 Spain F26 Spain F19 Spain F20 Spain F27 Spain F31 Spain F32 Spain F33 Spain F34 Spain F35 Spain F41 Spain F29 Spain F30 Portugal F2 Spain F2 Spain F4 Turkey F7 Turkey F9 Croatia F6 Spain F36 Spain F42 Italy F9 Portugal F1 Spain F1 Portugal F3 Spain F3 Spain F5 Croatia F4 Turkey F8 Romania F4 Croatia F5 Italy F20 Spain F15 Spain F16 Spain F8 Spain F9 Spain F10 Portugal F6 Spain F11 Spain F12 Spain F20 Latvia F1 Italy F28 Spain F23 Spain F24 Spain F25 Spain F28 Portugal F8 Spain F29 Portugal F9 Spain F30 Portugal F10 Spain F31 Spain F32 Morocco F4 Morocco F5 Morocco F6 Spain F1 Tunisia F4 Tunisia F5 Spain F4 Portugal F1 Spain F5 Portugal F2 Turkey F9 Portugal F3 Turkey F10 Morocco F2 Spain F6 Morocco F3 Spain F7 Spain F8 Italy F5 Spain F9 Italy F6 Portugal F4 Spain F12 Portugal F5 Spain F13 Portugal F6 Bulgaria F1 Belgium F13 Spain F31 Germany F7 Tunisia F2 Spain F1 Tunisia F4 Tunisia F5 Tunisia F6 Portugal F1 Spain F5 Spain F6 Tunisia F12 Spain F8 Tunisia F13 Tunisia F14 Tunisia F15 Portugal F9 Portugal F4 Tunisia F17 Portugal F5 Tunisia F18 Portugal F6 Portugal F7 Tunisia F20 Portugal F10 Spain F18 Spain F22 Spain F19 Spain F20 Portugal F8 Portugal F10 Portugal F11 Spain F24 Romania F12 Italy F25 Spain F28 Tunisia F23 Spain F32 Portugal F12 Tunisia F27 Tunisia F28 Spain F35 Tunisia F29 Tunisia F30 Tunisia F31 Tunisia F32 Tunisia F34 Tunisia F3 (Hammamet) Tunisia F4 (Hammamet) Tunisia F5 (Hammamet) Spain F5 (Murcia) Spain F6 (Cornella) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) Tunisia F9 (Hammamet) Portugal F3 (Loule) Tunisia F10 (Hammamet) Spain F8 (Reus) Portugal F4 (Lisbon) Tunisia F12 (Hammamet) Portugal F5 (Quinta Da Marinha) Tunisia F13 (Hammamet) Portugal F6 (Porto) Portugal F7 (Carcavelos) Italy F10 (Santa Margherita Di Pula) Spain F12 (Lleida) Sweden F1 (Karlskrona) Sweden F2 (Bastad) Spain F16 (Huelva) Portugal F8 (Lisbon) Portugal F9 (Setubal) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Spain F22 (Denia) Spain F23 (Xativa) Portugal F14 (Porto) Portugal F17 (Sintra) Portugal F18 (Sintra) Spain F29 (Sevilla) Portugal F19 (Castelo Branco) Portugal F20 (Oliveira De Azemeis) Portugal F21 (Idanha-a-Nova) Spain F33 (Riba - Roja de Turia) Italy F34 (Santa Margherita Di Pula) Tunisia F31 (Hammamet) Italy F35 (Santa Margherita Di Pula) Tunisia F32 (Hammamet) Italy F36 (Santa Margherita Di Pula) Tunisia F34 (Hammamet) Tunisia F35 (Hammamet) Tunisia F36 (Hammamet) Tunisia F37 (Hammamet) Tunisia F39 (Hammamet) Tunisia F40 (Hammamet) USA F3 (Naples) Tunisia F2 (Hammamet) USA F4 (Sunrise) Tunisia F3 (Hammamet) USA F5 (Weston) USA F6 (Palm Coast) Spain F4 (Paguera (Mallorca)) Spain F5 (Murcia) Portugal F1 (Vale Do Lobo) Portugal F2 (Faro) Turkey F8 (Antalya) Portugal F3 (Loule) Turkey F9 (Antalya) Tunisia F10 (Hammamet) Portugal F5 (Vilamoura) Tunisia F11 (Hammamet) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Spain F11 (Valldoreix) Italy F11 (Napoli) Spain F12 (Vic) Romania F2 (Bacau) Spain F14 (Huelva) Tunisia F23 (Hammamet) Portugal F9 (Povoa de Varzim) Tunisia F24 (Hammamet) Portugal F10 (Setubal) Italy F23 Portugal F11 (Castelo Branco) France F13 (Ajaccio) Portugal F12 (Porto) Portugal F13 (Caldas Da Rainha) Spain F21 (Xativa) Portugal F14 (Sintra) Spain F22 (Pozoblanco) Portugal F15 (Sintra) Spain F24 (Santander) Portugal F16 (Sintra) Spain F25 (Donostia-San-Sebastian) Tunisia F31 (Monastir) Portugal F17 (Setubal) Portugal F18 (Oliveira De Azemeis) Spain F29 (Sabadell) Portugal F19 (Idanha-a-Nova) Portugal F20 (Idanha-a-Nova) Portugal F21 (Sao Bras de Alportel) Portugal F22 (Tavira) Tunisia F41 (Monastir) Turkey F37 (Antalya) Tunisia F42 (Monastir) Tunisia F43 (Monastir) Turkey F39 (Antalya) Tunisia F44 (Monastir) Turkey F40 (Antalya) Tunisia F45 (Monastir) Turkey F41 (Antalya) M15 Palmanova M15 Vale Do Lobo M15 Faro M15 Loule M15 Tabarka M15 Portimao M15 Tabarka M15 Quinta Do Lago M15 Reus M15 Madrid M15 Valldoreix M25 Vic M15 Majadahonda M25 Huelva M15 Setubal M15 Idanha-A-Nova M15 Idanha-A-Nova M15 Castelo Branco M25 Porto M15 Sintra M15 Sintra M25 Donostia-San-Sebastian M25 Oviedo M15 Sao Bras Alportel M25+H Oliveira De Azemeis M25 Tavira M25 Riba - Roja de Turia M15 Castellon M25 Murcia M15 Antalya M25 Poznan M15 Valldoreix M15 Madrid M15 Torello M15 Majadahonda M15 Valldoreix M25 Vic M25 Montauban M25 Bakio M25 Uriage M25 Frankfurt am Main M25 Ueberlingen M25 Oviedo M25 Setubal M25 Lima M25 Lima M25 Quinta Do Lago M25 Portimao M25 Cairo M25 Porec M25 Rovinj M25 Opatija M15 Valldoreix M25 Mataro M25 La Nucia M25 Oviedo M25 Girona M25 Monastir M25 Torello M25 Sabadell M25 Gurb Spain F28 Portugal F13 Italy F24 Tunisia F1 Maia Open 2002 - Maia Copa Sevilla Internacionales de Andalucia - Seville Open Castilla y Leon - Segovia Open de Montauban - Montauban Stella Artois Clay Court Championships - Budaors Togliatti Cup - Togliatti Mordovia Cup 2005 - Saransk Samarkand Challenger - Samarkand Bukhara Challenger - Bukhara Challenger Copa Sevilla - Seville Copa Petrobras - Bogota Challenger Cudad de Guayaquil - Guayaquil Challenger Britania Zavaleta - Puebla Open de la Ville de Saint Denis - Reunion Island Aberto de Santa Catarina - Florianopolis 5° Sporting Challenger - Turin Memorial Manfredini - Sassuolo Bancastato Challenger Lugano - Lugano Harbour Tennis Cup Regione Lombardia - Milan 12° Tornea B. Camparini Arpa Ceramic Cup - Reggio Emilia Open de Montauban - Montauban Porsche Open - Poznan Akbank Private Banking TED Open 2006 - Istanbul Concurso Internacional de Vigo - Vigo Kos-Zucchetti Tennis Cup - Cordenons Antonio Savoldi-Marco Co. - Manerbio Challenger Copa Sevilla - Seville Seguros Bolivar Open - Medellin Copa Petrobras Colombia - Bogota Copa Petrobras Uruguray - Montevideo Copa Petrobras Brazil - Aracaju Copa Petrobras Argentina - Buenos Aires Copa Petrobras Paraguay - Asuncion Challenger Britania Zavaleta - Puebla Internationaux de Doubs Open de Franchie-Comte - Besancon Challenger DCN de Cherbourg - Cherbourg Bancolombia Open - Bogota Morocco Tennis Tour - Rabat Tennis Napoli Cup 2007 - Napoli Mitsubishi Electric Europe Cup - Monza Morocco Tennis Tour - Casablanca Morocco Tennis Tour - Marrakech Unique Zagreb Open - Zagreb Baden Open - Karlsruhe Schickedanz Open 2007 - Furth Nord LB Open 2007 - Braunschweig Arpa Ceramic Cup - Reggio Emilia Open de Montauban - Montauban 9° Trani Cup - Trani San Marino Cepu Open - San Marino Kos-Zucchetti Tennis Cup - Cordenons XXXIV Edizione 'A. Savoldi-Marco Co.' Trofeo Dimmidisi - Manerbio Copa Sevilla 2007 - Seville Open Costa Daurada - Tarragona Copa Petrobras Uruguay - Montevideo Copa Petrobras Paraguay - Asuncion Copa Petrobras Argentina - Buenos Aires Lima Challenger 2007 - Lima South African Airways Open - East London Internationaux du Doubs - Besancon Challenger DCNS de Cherbourg - Cherbourg Morocco Tennis Tour - Tanger Tennis Napoli Cup - Napoli Tunis Open - Tunis Morocco Tennis Tour - Rabat Morocco Tennis Tour - Marrakech Memorial A. Manfredini Sassuolo Challenger - Sassuolo Zenith Tennis Cup-Harbour Club - Milan Sporting Challenger '08-Trofeo Regione Piemonte - Turin Siemens Open - Scheveningen Porsche Open - Poznan ATP Open Castilla y Leon - Segovia Akbank Private Banking TED Open - Istanbul Genova Open Challenger - Genova Copa Petrobras-Argentina - Buenos Aires Bancolombia Open - Cali Seguros Bolivar Open - Medellin Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Besancon Challenger Bogota Challenger Tunis Challenger Prostejov Challenger Turin Challenger Istanbul Challenger Szczecin Challenger Napoli Challenger Orleans Challenger Rome Challenger Tunis Challenger Alessandria Challenger Prostejov Challenger Lugano Challenger Milan Challenger Turin Challenger Poznan Challenger San Marino Challenger Istanbul Challenger Napoli Challenger Tarragona Challenger Tashkent Challenger Seoul Challenger Le Gosier Challenger Napoli Challenger Braunschweig Challenger Poznan Challenger Trani Challenger Genova Challenger Napoli Challenger Palermo Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Dallas Challenger Caltanissetta Challenger Milan Challenger Braunschweig Challenger Pozoblanco Challenger Como Challenger Genova Challenger Quito Challenger San Juan Challenger Rio De Janeiro Challenger Buenos Aires Challenger Medellin Challenger Guayaquil Challenger Marbella Challenger Pereira Challenger Rome Challenger Samarkand Challenger Itajai Challenger Sao Paulo Challenger Heilbronn Challenger Milan Challenger Seville Challenger Reunion Island Challenger Turin Challenger Eskisehir Challenger Vicenza Challenger Caltanissetta Challenger Perugia Challenger Milan Challenger Marburg Challenger Braunschweig Challenger Biella Challenger Kenitra Challenger Mohammedia Challenger Casablanca Challenger Manila Challenger Santo Domingo Challenger Morelos Challenger Santiago Challenger Guadalajara Challenger San Luis Potosi Challenger Ostrava Challenger Mestre Challenger Prague Challenger Poprad Tatry Challenger Poznan Challenger Seville Challenger Meknes Challenger Kenitra Challenger Mohammedia Challenger Lisbon Challenger Santo Domingo Challenger Braga Challenger Lisbon Challenger Perugia Challenger San Benedetto Challenger Seville Challenger Cassis Challenger Bulgaria F4 Banja Luka Challenger Biella Challenger Bangkok Challenger Bangkok Challenger Marbella Challenger Sophia Antipolis Challenger Murcia Challenger Tunis Challenger Bordeaux Challenger Braga Challenger Vicenza Challenger Lyon Challenger Blois Challenger Milan Challenger Perugia Challenger San Benedetto Challenger Segovia Challenger Augsburg Challenger Meerbusch Challenger Mallorca Challenger Seville Challenger Biella Challenger Florence Challenger Barcelona Challenger Lima Challenger Sibiu Challenger Alicante Challenger Guayaquil Challenger Lima Challenger Gran Canaria 1 Challenger Gran Canaria 2 Challenger Aix En Provence Challenger Prague 3 Challenger Quito Challenger Ambato Challenger Lima Challenger Bogota Challenger Antalya 3 Challenger Maia 1 Challenger Maia 2 Challenger Gran Canaria Challenger Murcia Challenger Madrid Challenger Split Challenger Aix En Provence Challenger Tunis Challenger Montechiarugolo - Parma Challenger Oeiras 3 Challenger Troyes Challenger Liberec Challenger San Marino Challenger Prague 3 Challenger Seville Challenger Braga Challenger Lisbon Challenger Parma Challenger Szczecin Challenger Valencia Challenger Maspalomas Challenger Tigre 1 Challenger Tigre 2 Challenger Piracicaba Challenger Concepcion Challenger Manama Challenger Antalya Challenger Las Franquesas del Valles Challenger Girona Challenger Murcia Challenger Rome Challenger Troisdorf Challenger Prostejov Challenger Perugia Challenger Montechiarugolo Challenger Estoril Open - Estoril Portugal F3 Estoril Open - Estoril Grand Prix Hassan II - Casablanca Estoril Open - Estoril Estoril Open - Estoril SA Tennis Open - Johannesburg Brasil Open - Costa do Sauipe Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Interwetten Austrian Open - Kitzbuhel AEGON Championships - London Catella Swedish Open - Bastad ATP Studena Croatia Open Umag - Umag Legg Mason Tennis Classic - Washington Pilot Pen Tennis - New Haven BCR Open Romania - Bucharest Bank Austria Tennis Trophy - Vienna Davidoff Swiss Indoors Basel - Basel Qatar Exxon Mobil Open - Doha Medibank International - Sydney Brasil Open - Costa do Sauipe Copa Telmex - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Estoril Open - Estoril Allianz Suisse Open Gstaad - Gstaad Pilot Pen Tennis - New Haven Open Sud de France - Montpellier Open de Tenis Comunidad Valenciana - Valencia Aircel Chennai Open - Chennai Medibank International - Sydney Movistar Open - Santiago Brasil Open - Costa do Sauipe Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Estoril Open - Estoril Open de Nice Cote d'Azur - Nice AEGON International - Eastbourne Allianz Suisse Open - Gstaad Winston Salem - Winston Salem BCR Open Romania - Bucharest Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Open Sabadell Atlantico - Barcelona Estoril Open - Estoril AEGON Championships - London SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Barcelona Open BancSabadell - Barcelona BRD Nastase Tiriac Trophy - Bucharest Portugal Open - Oeiras Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Power Horse Cup - Dusseldorf Credit Agricole Suisse Open - Gstaad Bet-at-home Cup - Kitzbuhel Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Valencia Open - Valencia Millennium Estoril Open - Estoril Barcelona Open BancSabadell - Barcelona Konzum Croatia Open - Umag Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Swiss Open - Gstaad Barcelona Open Banc Sabadell - Barcelona Open Parc - Lyon Tunisia F2 (Hammamet) Sony Ericsson Open - Miami Todi Challenger Seville Challenger BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Maspalomas Challenger Nonthaburi 3 Challenger Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrilena Madrid Open - Madrid Amersfoort Challenger Chennai Challenger Bad Waltersdorf Challenger Gijon Open - Gijon French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Wimbledon - London Davis Cup, Group 2, 2R, SCG-POR 5-0 Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group 2, 3R, POR-SLO 4-1 Davis Cup, Group 1, 1R, LUX-POR 4-1 Davis Cup, Group 1, PO, MAR-POR 2-3 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Group 2, 1R, POR-DEN 4-1 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group I, 1R, POR-SVK 4-1 Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) All Lower level tournaments